/*
 * @Author: WangShuai 1830773767@qq.com
 * @Date: 2025-06-22 10:17:54
 * @LastEditors: WangShuai 1830773767@qq.com
 * @LastEditTime: 2025-06-26 00:02:36
 * @FilePath: \shangyitong\src\api\hospital\type.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import type { HospitalInfo } from "../home/type"

//定义详情页医院接口返回数据ts类型
export interface ResponseData {
    code: number,
    message: string,
    ok: boolean
}
//医院详情
export interface HospitalDetail {
    bookingRule: {
        cycle: number,
        releaseTime: string,
        stopTime: string,
        quitDay: number,
        quitTime: string,
        rule: string[],

    },
    hospital: {
        id: number,
        createTime: string,
        updatedTime: string,
        isDelete: boolean,
        param: {
            hostypeString: string,
            fullAddress: string,
        },
        hoscode: string,
        hosname: string,
        hostype: string,
        provincecode: string,
        cityCode: string,
        districtCode: string,
        address: string,
        logoData: string,
        intro: string,
        route: string,
        status: number,
        bookingRule: null
    }
}
export type recode = HospitalInfo[]
//获取医院详情接口返回的数据类型
export interface HospitalDetailResponseData extends ResponseData {
    data: HospitalDetail
}

//科室数据类型
export interface Deparment {
    depcode: string,
    depname: string,
    children?: Deparment[]
}
//代表存储科室的数组类型
export type DeparmentArr = Deparment[]
//某一个医院科室的数据类ts数据类型
export interface DeparmentResponseData extends ResponseData {
    data: Deparment[]
}

export interface userCodeResponse extends ResponseData {
    data: string
}

//
export interface BaseMap {
    "workDateString": string,
    "releaseTime": string,
    "bigname": string,
    "stopTime": string,
    "depname": string,
    "hosname": string
}
export interface WorkDate {
    "workDate": string,
    "workDateMd": string,
    "dayOfWeek": string,
    "docCount": number,
    "reservedNumber": null,
    "availableNumber": number,
    "status": number,
}
export type BookingScheduleList = WorkDate[]
export interface HospitalWorkDataResponse extends ResponseData {
    data: {
        total: number,
        bookingScheduleList: BookingScheduleList,
        baseMap: BaseMap
    }
}

//医生排班数据ts类型
export interface Doctor {
    "id": string,
    "createTime": string
    "updateTime": string
    "isDeleted": number,
    "param": {
        "dayOfweek": string,
        "depname": string,
        "hosname": string,
    }
    "hoscode": string
    "depcode": string
    "title": string,
    "docname": string,
    "ski11": string,
    "workDate": string,
    "workTime": number,
    "reservedNumber": number,
    "availableNumber": number,
    "amount": number,
    "status": number,
    "hosscheduleld": string
}
//数组包含全部医生
export type DocArr = Doctor[]
//获取排班医生ts
export interface DoctorResponseData extends ResponseData {
    data:DocArr
}

//定义一个就诊人信息数据 ts 类型
export interface Visitor{
    "id": number,
    "createTime": string,
    "updateTime": string,
    "isDeleted": number,
    "param": {
        "certificatesTypeString": string,
        "contactsCertificatesTypeString": null,
        "cityString": null,
        "fullAddress": string,
        "districtString": null,
        "provinceString": null
    },
    "userId": number,
    "name": string,
    "certificatesType": string,
    "certificatesNo": string,
    "sex": 0,
    "birthdate": string,
    "phone": string,
    "isMarry": number,
    "provinceCode": null,
    "cityCode": null,
    "districtCode": null,
    "address": string,
    "contactsName": string,
    "contactsCertificatesType": string,
    "contactsCertificatesNo": string,
    "contactsPhone": string,
    "isInsure": number,
    "cardNo": null,
    "status": string
}


//定义就诊人信息列表数组ts 
export type VisitorArr = Visitor[]
//定义获取就诊人信息接口返回数据ts类型

export interface VisitorResponseData extends ResponseData{
    "data":VisitorArr,

}
//获取就诊人挂号医生的接口返回 数据类型
export interface DocrorInfoData extends ResponseData{
    data:Doctor
}










